/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tv.starfu.sequencer.matrix;

import de.lessvoid.nifty.controls.NiftyControl;
import de.lessvoid.nifty.render.NiftyImage;

/**
 *
 * @author niadzi
 */
public interface MatrixAtom extends NiftyControl{
//      /**
//   * Select the previous image (if possible).
//   */
//  void backClick();

  /**
   * Select the next image (if possible).
   */
  void nextPhase();

  /**
   * Add another image to the possible selection.
   * @param image the image
   */
  void addImage(NiftyImage image);

  /**
   * Get the current selected image index.
   * @return image index
   */
  int getPhase();

  /**
   * Set the current image index which will select this image. If the
   * imageIndex is not valid nothing is changed.
   * @param imageIndex image index
   */
  void setPhase(int phaseIndex);
  
  /**
   * Sets the Atom channel
   * @param channelID 
   */
  //void setChannelID(String channelID);
  
//  String getChannelID();
//  
//  String getStepID();
  
  int getChannel();
  
  int getStep();
  
  /**
   * Set the Atom step
   * @param stepID 
   */
  void setStep(int stepID);
  
  void setChannel(int channel);
}
